package com.xxx.common.constant;

/**
 * 信息提示常量类 - 规范化版本
 */
public class MessageConstant {

    // 认证相关错误
    public static final String PASSWORD_ERROR = "密码错误";
    public static final String ACCOUNT_NOT_FOUND = "账号不存在";
    public static final String ACCOUNT_LOCKED = "账号被锁定";
    public static final String USER_NOT_LOGIN = "用户未登录";
    public static final String USER_LOGOUT_SUCCESS = "用户登出成功";
    public static final String EMAIL_NOT_MATCH = "邮箱不匹配";
    public static final String LOGIN_FAILED = "登录失败";

    // 通用错误
    public static final String UNKNOWN_ERROR = "未知错误";
    public static final String UPLOAD_FAILED = "文件上传失败";
    public static final String OPERATION_FAILED = "操作失败";

    // 业务相关错误
    public static final String CATEGORY_BE_RELATED_BY_SETMEAL = "当前分类关联了套餐,不能删除";
    public static final String CATEGORY_BE_RELATED_BY_DISH = "当前分类关联了菜品,不能删除";
    public static final String SHOPPING_CART_IS_NULL = "购物车数据为空，不能下单";
    public static final String ADDRESS_BOOK_IS_NULL = "用户地址为空，不能下单";
    public static final String SETMEAL_ENABLE_FAILED = "套餐内包含未启售菜品，无法启售";
    public static final String PASSWORD_EDIT_FAILED = "密码修改失败";
    public static final String DISH_ON_SALE = "起售中的菜品不能删除";
    public static final String SETMEAL_ON_SALE = "起售中的套餐不能删除";
    public static final String DISH_BE_RELATED_BY_SETMEAL = "当前菜品关联了套餐,不能删除";
    public static final String ORDER_STATUS_ERROR = "订单状态错误";
    public static final String ORDER_NOT_FOUND = "订单不存在";
    
    // 音乐相关错误
    public static final String MUSIC_TITLE_EMPTY = "音乐标题不能为空";
    public static final String MUSIC_TITLE_TOO_LONG = "标题长度不能超过100字符";
    public static final String MUSIC_DESCRIPTION_TOO_LONG = "描述长度不能超过500字符";
    public static final String MUSIC_GENRE_EMPTY = "曲风不能为空";
    public static final String MUSIC_NOT_FOUND = "音乐不存在";
    public static final String MUSIC_APPROVED_CANNOT_MODIFY = "已审核的音乐不能修改";
    public static final String MUSIC_ONLY_OWN_MODIFY = "只能修改自己的音乐";
    public static final String MUSIC_ONLY_OWN_DELETE = "只能删除自己的音乐";
    public static final String MUSIC_ONLY_ADD_OWN_ALBUM = "只能添加到自己的专辑";
    public static final String MUSIC_SELECT_THIRD_LEVEL_GENRE = "请选择三级曲风分类";
    
    // 专辑相关错误
    public static final String ALBUM_NOT_FOUND = "专辑不存在";
    public static final String ALBUM_ONLY_OWN_MODIFY = "只能修改自己的专辑";
    public static final String ALBUM_ONLY_OWN_DELETE = "只能删除自己的专辑";
    public static final String ALBUM_ONLY_MANAGE_OWN = "只能管理自己的专辑和音乐";
    
    // 权限相关错误
    public static final String PERMISSION_DENIED = "权限不足，无法执行此操作";
    
    // 用户相关错误
    public static final String USER_NOT_FOUND = "用户不存在";
    public static final String USERNAME_ALREADY_EXISTS = "用户名已存在";
    public static final String USER_GET_CURRENT_ID_FAILED = "无法获取当前用户ID";
    public static final String USER_PASSWORD_EMPTY = "密码为空！";
    
    // 曲风相关错误
    public static final String GENRE_NOT_FOUND = "曲风不存在";
    public static final String GENRE_NAME_EMPTY = "分类名称不能为空";
    public static final String GENRE_NAME_EXISTS = "分类名称已存在";
    public static final String GENRE_HAS_CHILDREN = "安全起见，存在子分类，无法删除";
    public static final String INVALID_GENRE_TYPE = "无效的分类类型";
    public static final String GENRE_MAIN_CANNOT_HAVE_PARENT = "一级分类不能有父分类";
    public static final String GENRE_SUB_MUST_HAVE_PARENT = "子分类必须指定父分类";
    public static final String INVALID_LEVEL_PATH = "无效的层级路径";
    public static final String INVALID_LEVEL_PATH_FORMAT = "层级路径格式错误";
}